package main

import "fmt"

// 通道 是连接多个 Go 协程的管道。你可以从一个 Go 协程 将值发送到通道，然后在别的 Go 协程中接收。
// 使用 make(chan val-type) 创建一个新的通道。 通道类型就是他们需要传递值的类型。
// 使用 channel <- 语法 发送 一个新的值到通道中。
// 使用 <-channel 语法从通道中 接收 一个值。这里 将接收我们在上面发送的 "ping" 消息并打印出来。
// 默认发送和接收操作是阻塞的，直到发送方和接收方都准备完毕。

func main() {
	msg := make(chan string)
	go func() {
		msg <- "ping"
	}()
	messages := <-msg
	fmt.Println(messages)
	fmt.Println("over")
}
